// samsting : this file is auto create.

#ifndef ALIYUN_Ess_DescribeScalingRulesResponse_H_
#define ALIYUN_Ess_DescribeScalingRulesResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Ess {

class DescribeScalingRulesResponse : public AcsResponse {
public:
  DescribeScalingRulesResponse();

  class ScalingRule {
    friend class DescribeScalingRulesResponse;
  public:
    const string& GetScalingRuleId(void) const;
    const string& GetScalingGroupId(void) const;
    const string& GetScalingRuleName(void) const;
    int  GetCooldown(void) const;
    const string& GetAdjustmentType(void) const;
    int  GetAdjustmentValue(void) const;
    int  GetMinSize(void) const;
    int  GetMaxSize(void) const;
    const string& GetScalingRuleAri(void) const;
  private:
    string ScalingRuleId_;
    string ScalingGroupId_;
    string ScalingRuleName_;
    int    Cooldown_;
    string AdjustmentType_;
    int    AdjustmentValue_;
    int    MinSize_;
    int    MaxSize_;
    string ScalingRuleAri_;
  }; // ScalingRule 

  const std::vector<ScalingRule>& GetScalingRules(void) const;
  int  GetTotalCount(void) const;
  int  GetPageNumber(void) const;
  int  GetPageSize(void) const;

private:
  std::vector<ScalingRule> ScalingRules_;
  int    TotalCount_;
  int    PageNumber_;
  int    PageSize_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Ess {

#endif // #ifndef ALIYUN_Ess_DescribeScalingRulesResponse_H_

// end of file 
